import { IPSSystem } from './ipssystem';
import { IPSApplication } from './app/ipsapplication';
import { IPSSysBDScheme } from './ba/ipssys-bdscheme';
import { IPSSysBackService } from './backservice/ipssys-back-service';
import { IPSSysBIScheme } from './bi/ipssys-bischeme';
import { IPSCodeList } from './codelist/ipscode-list';
import { IPSSysDBScheme } from './database/ipssys-dbscheme';
import { IPSSysDBValueFunc } from './database/ipssys-dbvalue-func';
import { IPSSystemDBConfig } from './database/ipssystem-dbconfig';
import { IPSDataEntity } from './dataentity/ipsdata-entity';
import { IPSSysDEGroup } from './dataentity/ipssys-degroup';
import { IPSSysDERGroup } from './dataentity/der/ipssys-dergroup';
import { IPSSysDEOPPriv } from './dataentity/priv/ipssys-deoppriv';
import { IPSSysDTSQueue } from './dts/ipssys-dtsqueue';
import { IPSSysDynaModel } from './dynamodel/ipssys-dyna-model';
import { IPSSysERMap } from './er/ipssys-ermap';
import { IPSSysMsgQueue } from './msg/ipssys-msg-queue';
import { IPSSysMsgTarget } from './msg/ipssys-msg-target';
import { IPSSysMsgTempl } from './msg/ipssys-msg-templ';
import { IPSSysSFPub } from './pub/ipssys-sfpub';
import { IPSSysContent } from './res/ipssys-content';
import { IPSSysContentCat } from './res/ipssys-content-cat';
import { IPSSysDataSyncAgent } from './res/ipssys-data-sync-agent';
import { IPSSysEditorStyle } from './res/ipssys-editor-style';
import { IPSSysI18N } from './res/ipssys-i18-n';
import { IPSSysLogic } from './res/ipssys-logic';
import { IPSSysPDTView } from './res/ipssys-pdtview';
import { IPSSysResource } from './res/ipssys-resource';
import { IPSSysSFPlugin } from './res/ipssys-sfplugin';
import { IPSSysSampleValue } from './res/ipssys-sample-value';
import { IPSSysSequence } from './res/ipssys-sequence';
import { IPSSysTranslator } from './res/ipssys-translator';
import { IPSSysUniState } from './res/ipssys-uni-state';
import { IPSSysUtil } from './res/ipssys-util';
import { IPSSysSearchScheme } from './search/ipssys-search-scheme';
import { IPSSysUniRes } from './security/ipssys-uni-res';
import { IPSSysUserDR } from './security/ipssys-user-dr';
import { IPSSysUserMode } from './security/ipssys-user-mode';
import { IPSSysUserRole } from './security/ipssys-user-role';
import { IPSSubSysServiceAPI } from './service/ipssub-sys-service-api';
import { IPSSysMethodDTO } from './service/ipssys-method-dto';
import { IPSSysServiceAPI } from './service/ipssys-service-api';
import { IPSSysModelGroup } from './system/ipssys-model-group';
import { IPSSysRef } from './system/ipssys-ref';
import { IPSSystemModule } from './system/ipssystem-module';
import { IPSSysTestData } from './testing/ipssys-test-data';
import { IPSSysTestPrj } from './testing/ipssys-test-prj';
import { IPSSysActor } from './uml/ipssys-actor';
import { IPSSysUCMap } from './uml/ipssys-ucmap';
import { IPSSysUseCase } from './uml/ipssys-use-case';
import { IPSSysValueRule } from './valuerule/ipssys-value-rule';
import { IPSWFRole } from './wf/ipswfrole';
import { IPSWFWorkTime } from './wf/ipswfwork-time';
import { IPSWorkflow } from './wf/ipsworkflow';
import { PSModelObjectImpl } from './psmodel-object-impl';

export class PSSystemImpl extends PSModelObjectImpl implements IPSSystem {
  protected allpsapps: IPSApplication[] | null = null;

  getAllPSApps(): IPSApplication[] | null {
    if (this.allpsapps == null) {
      this.allpsapps = this.fillChildListModel(this.M.getAllPSApps, 'app.IPSApplication') as IPSApplication[];
    }
    return this.allpsapps;
  }

  get allPSApps(): IPSApplication[] | null {
    return this.getAllPSApps();
  }

  findPSApplication(objKey: any): IPSApplication | null {
    return this.getPSModel5('app.IPSApplication', this.getAllPSApps(), objKey) as IPSApplication;
  }

  protected allpscodelists: IPSCodeList[] | null = null;

  getAllPSCodeLists(): IPSCodeList[] | null {
    if (this.allpscodelists == null) {
      this.allpscodelists = this.fillChildListModel(this.M.getAllPSCodeLists, 'codelist.IPSCodeList') as IPSCodeList[];
    }
    return this.allpscodelists;
  }

  get allPSCodeLists(): IPSCodeList[] | null {
    return this.getAllPSCodeLists();
  }

  findPSCodeList(objKey: any): IPSCodeList | null {
    return this.getPSModel5('codelist.IPSCodeList', this.getAllPSCodeLists(), objKey) as IPSCodeList;
  }

  protected allpsdeopprivs: IPSSysDEOPPriv[] | null = null;

  getAllPSDEOPPrivs(): IPSSysDEOPPriv[] | null {
    if (this.allpsdeopprivs == null) {
      this.allpsdeopprivs = this.fillChildListModel(this.M.getAllPSDEOPPrivs, 'dataentity.priv.IPSSysDEOPPriv') as IPSSysDEOPPriv[];
    }
    return this.allpsdeopprivs;
  }

  get allPSDEOPPrivs(): IPSSysDEOPPriv[] | null {
    return this.getAllPSDEOPPrivs();
  }

  findPSSysDEOPPriv(objKey: any): IPSSysDEOPPriv | null {
    return this.getPSModel5('dataentity.priv.IPSSysDEOPPriv', this.getAllPSDEOPPrivs(), objKey) as IPSSysDEOPPriv;
  }

  protected allpsdataentities: IPSDataEntity[] | null = null;

  getAllPSDataEntities(): IPSDataEntity[] | null {
    if (this.allpsdataentities == null) {
      this.allpsdataentities = this.fillChildListModel(this.M.getAllPSDataEntities, 'dataentity.IPSDataEntity') as IPSDataEntity[];
    }
    return this.allpsdataentities;
  }

  get allPSDataEntities(): IPSDataEntity[] | null {
    return this.getAllPSDataEntities();
  }

  findPSDataEntity(objKey: any): IPSDataEntity | null {
    return this.getPSModel5('dataentity.IPSDataEntity', this.getAllPSDataEntities(), objKey) as IPSDataEntity;
  }

  protected allpssubsysserviceapis: IPSSubSysServiceAPI[] | null = null;

  getAllPSSubSysServiceAPIs(): IPSSubSysServiceAPI[] | null {
    if (this.allpssubsysserviceapis == null) {
      this.allpssubsysserviceapis = this.fillChildListModel(this.M.getAllPSSubSysServiceAPIs, 'service.IPSSubSysServiceAPI') as IPSSubSysServiceAPI[];
    }
    return this.allpssubsysserviceapis;
  }

  get allPSSubSysServiceAPIs(): IPSSubSysServiceAPI[] | null {
    return this.getAllPSSubSysServiceAPIs();
  }

  findPSSubSysServiceAPI(objKey: any): IPSSubSysServiceAPI | null {
    return this.getPSModel5('service.IPSSubSysServiceAPI', this.getAllPSSubSysServiceAPIs(), objKey) as IPSSubSysServiceAPI;
  }

  protected allpssysactors: IPSSysActor[] | null = null;

  getAllPSSysActors(): IPSSysActor[] | null {
    if (this.allpssysactors == null) {
      this.allpssysactors = this.fillChildListModel(this.M.getAllPSSysActors, 'uml.IPSSysActor') as IPSSysActor[];
    }
    return this.allpssysactors;
  }

  get allPSSysActors(): IPSSysActor[] | null {
    return this.getAllPSSysActors();
  }

  findPSSysActor(objKey: any): IPSSysActor | null {
    return this.getPSModel5('uml.IPSSysActor', this.getAllPSSysActors(), objKey) as IPSSysActor;
  }

  protected allpssysbdschemes: IPSSysBDScheme[] | null = null;

  getAllPSSysBDSchemes(): IPSSysBDScheme[] | null {
    if (this.allpssysbdschemes == null) {
      this.allpssysbdschemes = this.fillChildListModel(this.M.getAllPSSysBDSchemes, 'ba.IPSSysBDScheme') as IPSSysBDScheme[];
    }
    return this.allpssysbdschemes;
  }

  get allPSSysBDSchemes(): IPSSysBDScheme[] | null {
    return this.getAllPSSysBDSchemes();
  }

  findPSSysBDScheme(objKey: any): IPSSysBDScheme | null {
    return this.getPSModel5('ba.IPSSysBDScheme', this.getAllPSSysBDSchemes(), objKey) as IPSSysBDScheme;
  }

  protected allpssysbischemes: IPSSysBIScheme[] | null = null;

  getAllPSSysBISchemes(): IPSSysBIScheme[] | null {
    if (this.allpssysbischemes == null) {
      this.allpssysbischemes = this.fillChildListModel(this.M.getAllPSSysBISchemes, 'bi.IPSSysBIScheme') as IPSSysBIScheme[];
    }
    return this.allpssysbischemes;
  }

  get allPSSysBISchemes(): IPSSysBIScheme[] | null {
    return this.getAllPSSysBISchemes();
  }

  findPSSysBIScheme(objKey: any): IPSSysBIScheme | null {
    return this.getPSModel5('bi.IPSSysBIScheme', this.getAllPSSysBISchemes(), objKey) as IPSSysBIScheme;
  }

  protected allpssysbackservices: IPSSysBackService[] | null = null;

  getAllPSSysBackServices(): IPSSysBackService[] | null {
    if (this.allpssysbackservices == null) {
      this.allpssysbackservices = this.fillChildListModel(this.M.getAllPSSysBackServices, 'backservice.IPSSysBackService') as IPSSysBackService[];
    }
    return this.allpssysbackservices;
  }

  get allPSSysBackServices(): IPSSysBackService[] | null {
    return this.getAllPSSysBackServices();
  }

  findPSSysBackService(objKey: any): IPSSysBackService | null {
    return this.getPSModel5('backservice.IPSSysBackService', this.getAllPSSysBackServices(), objKey) as IPSSysBackService;
  }

  protected allpssyscontentcats: IPSSysContentCat[] | null = null;

  getAllPSSysContentCats(): IPSSysContentCat[] | null {
    if (this.allpssyscontentcats == null) {
      this.allpssyscontentcats = this.fillChildListModel(this.M.getAllPSSysContentCats, 'res.IPSSysContentCat') as IPSSysContentCat[];
    }
    return this.allpssyscontentcats;
  }

  get allPSSysContentCats(): IPSSysContentCat[] | null {
    return this.getAllPSSysContentCats();
  }

  findPSSysContentCat(objKey: any): IPSSysContentCat | null {
    return this.getPSModel5('res.IPSSysContentCat', this.getAllPSSysContentCats(), objKey) as IPSSysContentCat;
  }

  protected allpssysdbschemes: IPSSysDBScheme[] | null = null;

  getAllPSSysDBSchemes(): IPSSysDBScheme[] | null {
    if (this.allpssysdbschemes == null) {
      this.allpssysdbschemes = this.fillChildListModel(this.M.getAllPSSysDBSchemes, 'database.IPSSysDBScheme') as IPSSysDBScheme[];
    }
    return this.allpssysdbschemes;
  }

  get allPSSysDBSchemes(): IPSSysDBScheme[] | null {
    return this.getAllPSSysDBSchemes();
  }

  findPSSysDBScheme(objKey: any): IPSSysDBScheme | null {
    return this.getPSModel5('database.IPSSysDBScheme', this.getAllPSSysDBSchemes(), objKey) as IPSSysDBScheme;
  }

  protected allpssysdbvaluefuncs: IPSSysDBValueFunc[] | null = null;

  getAllPSSysDBValueFuncs(): IPSSysDBValueFunc[] | null {
    if (this.allpssysdbvaluefuncs == null) {
      this.allpssysdbvaluefuncs = this.fillChildListModel(this.M.getAllPSSysDBValueFuncs, 'database.IPSSysDBValueFunc') as IPSSysDBValueFunc[];
    }
    return this.allpssysdbvaluefuncs;
  }

  get allPSSysDBValueFuncs(): IPSSysDBValueFunc[] | null {
    return this.getAllPSSysDBValueFuncs();
  }

  findPSSysDBValueFunc(objKey: any): IPSSysDBValueFunc | null {
    return this.getPSModel5('database.IPSSysDBValueFunc', this.getAllPSSysDBValueFuncs(), objKey) as IPSSysDBValueFunc;
  }

  protected allpssysdegroups: IPSSysDEGroup[] | null = null;

  getAllPSSysDEGroups(): IPSSysDEGroup[] | null {
    if (this.allpssysdegroups == null) {
      this.allpssysdegroups = this.fillChildListModel(this.M.getAllPSSysDEGroups, 'dataentity.IPSSysDEGroup') as IPSSysDEGroup[];
    }
    return this.allpssysdegroups;
  }

  get allPSSysDEGroups(): IPSSysDEGroup[] | null {
    return this.getAllPSSysDEGroups();
  }

  findPSSysDEGroup(objKey: any): IPSSysDEGroup | null {
    return this.getPSModel5('dataentity.IPSSysDEGroup', this.getAllPSSysDEGroups(), objKey) as IPSSysDEGroup;
  }

  protected allpssysdergroups: IPSSysDERGroup[] | null = null;

  getAllPSSysDERGroups(): IPSSysDERGroup[] | null {
    if (this.allpssysdergroups == null) {
      this.allpssysdergroups = this.fillChildListModel(this.M.getAllPSSysDERGroups, 'dataentity.der.IPSSysDERGroup') as IPSSysDERGroup[];
    }
    return this.allpssysdergroups;
  }

  get allPSSysDERGroups(): IPSSysDERGroup[] | null {
    return this.getAllPSSysDERGroups();
  }

  findPSSysDERGroup(objKey: any): IPSSysDERGroup | null {
    return this.getPSModel5('dataentity.der.IPSSysDERGroup', this.getAllPSSysDERGroups(), objKey) as IPSSysDERGroup;
  }

  protected allpssysdtsqueues: IPSSysDTSQueue[] | null = null;

  getAllPSSysDTSQueues(): IPSSysDTSQueue[] | null {
    if (this.allpssysdtsqueues == null) {
      this.allpssysdtsqueues = this.fillChildListModel(this.M.getAllPSSysDTSQueues, 'dts.IPSSysDTSQueue') as IPSSysDTSQueue[];
    }
    return this.allpssysdtsqueues;
  }

  get allPSSysDTSQueues(): IPSSysDTSQueue[] | null {
    return this.getAllPSSysDTSQueues();
  }

  findPSSysDTSQueue(objKey: any): IPSSysDTSQueue | null {
    return this.getPSModel5('dts.IPSSysDTSQueue', this.getAllPSSysDTSQueues(), objKey) as IPSSysDTSQueue;
  }

  protected allpssysdatasyncagents: IPSSysDataSyncAgent[] | null = null;

  getAllPSSysDataSyncAgents(): IPSSysDataSyncAgent[] | null {
    if (this.allpssysdatasyncagents == null) {
      this.allpssysdatasyncagents = this.fillChildListModel(this.M.getAllPSSysDataSyncAgents, 'res.IPSSysDataSyncAgent') as IPSSysDataSyncAgent[];
    }
    return this.allpssysdatasyncagents;
  }

  get allPSSysDataSyncAgents(): IPSSysDataSyncAgent[] | null {
    return this.getAllPSSysDataSyncAgents();
  }

  findPSSysDataSyncAgent(objKey: any): IPSSysDataSyncAgent | null {
    return this.getPSModel5('res.IPSSysDataSyncAgent', this.getAllPSSysDataSyncAgents(), objKey) as IPSSysDataSyncAgent;
  }

  protected allpssysdynamodels: IPSSysDynaModel[] | null = null;

  getAllPSSysDynaModels(): IPSSysDynaModel[] | null {
    if (this.allpssysdynamodels == null) {
      this.allpssysdynamodels = this.fillChildListModel(this.M.getAllPSSysDynaModels, 'dynamodel.IPSSysDynaModel') as IPSSysDynaModel[];
    }
    return this.allpssysdynamodels;
  }

  get allPSSysDynaModels(): IPSSysDynaModel[] | null {
    return this.getAllPSSysDynaModels();
  }

  findPSSysDynaModel(objKey: any): IPSSysDynaModel | null {
    return this.getPSModel5('dynamodel.IPSSysDynaModel', this.getAllPSSysDynaModels(), objKey) as IPSSysDynaModel;
  }

  protected allpssysermaps: IPSSysERMap[] | null = null;

  getAllPSSysERMaps(): IPSSysERMap[] | null {
    if (this.allpssysermaps == null) {
      this.allpssysermaps = this.fillChildListModel(this.M.getAllPSSysERMaps, 'er.IPSSysERMap') as IPSSysERMap[];
    }
    return this.allpssysermaps;
  }

  get allPSSysERMaps(): IPSSysERMap[] | null {
    return this.getAllPSSysERMaps();
  }

  findPSSysERMap(objKey: any): IPSSysERMap | null {
    return this.getPSModel5('er.IPSSysERMap', this.getAllPSSysERMaps(), objKey) as IPSSysERMap;
  }

  protected allpssyseditorstyles: IPSSysEditorStyle[] | null = null;

  getAllPSSysEditorStyles(): IPSSysEditorStyle[] | null {
    if (this.allpssyseditorstyles == null) {
      this.allpssyseditorstyles = this.fillChildListModel(this.M.getAllPSSysEditorStyles, 'res.IPSSysEditorStyle') as IPSSysEditorStyle[];
    }
    return this.allpssyseditorstyles;
  }

  get allPSSysEditorStyles(): IPSSysEditorStyle[] | null {
    return this.getAllPSSysEditorStyles();
  }

  findPSSysEditorStyle(objKey: any): IPSSysEditorStyle | null {
    return this.getPSModel5('res.IPSSysEditorStyle', this.getAllPSSysEditorStyles(), objKey) as IPSSysEditorStyle;
  }

  protected allpssysi18ns: IPSSysI18N[] | null = null;

  getAllPSSysI18Ns(): IPSSysI18N[] | null {
    if (this.allpssysi18ns == null) {
      this.allpssysi18ns = this.fillChildListModel(this.M.getAllPSSysI18Ns, 'res.IPSSysI18N') as IPSSysI18N[];
    }
    return this.allpssysi18ns;
  }

  get allPSSysI18Ns(): IPSSysI18N[] | null {
    return this.getAllPSSysI18Ns();
  }

  findPSSysI18N(objKey: any): IPSSysI18N | null {
    return this.getPSModel5('res.IPSSysI18N', this.getAllPSSysI18Ns(), objKey) as IPSSysI18N;
  }

  protected allpssyslogics: IPSSysLogic[] | null = null;

  getAllPSSysLogics(): IPSSysLogic[] | null {
    if (this.allpssyslogics == null) {
      this.allpssyslogics = this.fillChildListModel(this.M.getAllPSSysLogics, 'res.IPSSysLogic') as IPSSysLogic[];
    }
    return this.allpssyslogics;
  }

  get allPSSysLogics(): IPSSysLogic[] | null {
    return this.getAllPSSysLogics();
  }

  findPSSysLogic(objKey: any): IPSSysLogic | null {
    return this.getPSModel5('res.IPSSysLogic', this.getAllPSSysLogics(), objKey) as IPSSysLogic;
  }

  protected allpssysmethoddtos: IPSSysMethodDTO[] | null = null;

  getAllPSSysMethodDTOs(): IPSSysMethodDTO[] | null {
    if (this.allpssysmethoddtos == null) {
      this.allpssysmethoddtos = this.fillChildListModel(this.M.getAllPSSysMethodDTOs, 'service.IPSSysMethodDTO') as IPSSysMethodDTO[];
    }
    return this.allpssysmethoddtos;
  }

  get allPSSysMethodDTOs(): IPSSysMethodDTO[] | null {
    return this.getAllPSSysMethodDTOs();
  }

  findPSSysMethodDTO(objKey: any): IPSSysMethodDTO | null {
    return this.getPSModel5('service.IPSSysMethodDTO', this.getAllPSSysMethodDTOs(), objKey) as IPSSysMethodDTO;
  }

  protected allpssysmodelgroups: IPSSysModelGroup[] | null = null;

  getAllPSSysModelGroups(): IPSSysModelGroup[] | null {
    if (this.allpssysmodelgroups == null) {
      this.allpssysmodelgroups = this.fillChildListModel(this.M.getAllPSSysModelGroups, 'system.IPSSysModelGroup') as IPSSysModelGroup[];
    }
    return this.allpssysmodelgroups;
  }

  get allPSSysModelGroups(): IPSSysModelGroup[] | null {
    return this.getAllPSSysModelGroups();
  }

  findPSSysModelGroup(objKey: any): IPSSysModelGroup | null {
    return this.getPSModel5('system.IPSSysModelGroup', this.getAllPSSysModelGroups(), objKey) as IPSSysModelGroup;
  }

  protected allpssysmsgqueues: IPSSysMsgQueue[] | null = null;

  getAllPSSysMsgQueues(): IPSSysMsgQueue[] | null {
    if (this.allpssysmsgqueues == null) {
      this.allpssysmsgqueues = this.fillChildListModel(this.M.getAllPSSysMsgQueues, 'msg.IPSSysMsgQueue') as IPSSysMsgQueue[];
    }
    return this.allpssysmsgqueues;
  }

  get allPSSysMsgQueues(): IPSSysMsgQueue[] | null {
    return this.getAllPSSysMsgQueues();
  }

  findPSSysMsgQueue(objKey: any): IPSSysMsgQueue | null {
    return this.getPSModel5('msg.IPSSysMsgQueue', this.getAllPSSysMsgQueues(), objKey) as IPSSysMsgQueue;
  }

  protected allpssysmsgtars: IPSSysMsgTarget[] | null = null;

  getAllPSSysMsgTargets(): IPSSysMsgTarget[] | null {
    if (this.allpssysmsgtars == null) {
      this.allpssysmsgtars = this.fillChildListModel(this.M.getAllPSSysMsgTargets, 'msg.IPSSysMsgTarget') as IPSSysMsgTarget[];
    }
    return this.allpssysmsgtars;
  }

  get allPSSysMsgTargets(): IPSSysMsgTarget[] | null {
    return this.getAllPSSysMsgTargets();
  }

  findPSSysMsgTarget(objKey: any): IPSSysMsgTarget | null {
    return this.getPSModel5('msg.IPSSysMsgTarget', this.getAllPSSysMsgTargets(), objKey) as IPSSysMsgTarget;
  }

  protected allpssysmsgtempls: IPSSysMsgTempl[] | null = null;

  getAllPSSysMsgTempls(): IPSSysMsgTempl[] | null {
    if (this.allpssysmsgtempls == null) {
      this.allpssysmsgtempls = this.fillChildListModel(this.M.getAllPSSysMsgTempls, 'msg.IPSSysMsgTempl') as IPSSysMsgTempl[];
    }
    return this.allpssysmsgtempls;
  }

  get allPSSysMsgTempls(): IPSSysMsgTempl[] | null {
    return this.getAllPSSysMsgTempls();
  }

  findPSSysMsgTempl(objKey: any): IPSSysMsgTempl | null {
    return this.getPSModel5('msg.IPSSysMsgTempl', this.getAllPSSysMsgTempls(), objKey) as IPSSysMsgTempl;
  }

  protected allpssyspdtviews: IPSSysPDTView[] | null = null;

  getAllPSSysPDTViews(): IPSSysPDTView[] | null {
    if (this.allpssyspdtviews == null) {
      this.allpssyspdtviews = this.fillChildListModel(this.M.getAllPSSysPDTViews, 'res.IPSSysPDTView') as IPSSysPDTView[];
    }
    return this.allpssyspdtviews;
  }

  get allPSSysPDTViews(): IPSSysPDTView[] | null {
    return this.getAllPSSysPDTViews();
  }

  findPSSysPDTView(objKey: any): IPSSysPDTView | null {
    return this.getPSModel5('res.IPSSysPDTView', this.getAllPSSysPDTViews(), objKey) as IPSSysPDTView;
  }

  protected allpssysrefs: IPSSysRef[] | null = null;

  getAllPSSysRefs(): IPSSysRef[] | null {
    if (this.allpssysrefs == null) {
      this.allpssysrefs = this.fillChildListModel(this.M.getAllPSSysRefs, 'system.IPSSysRef') as IPSSysRef[];
    }
    return this.allpssysrefs;
  }

  get allPSSysRefs(): IPSSysRef[] | null {
    return this.getAllPSSysRefs();
  }

  findPSSysRef(objKey: any): IPSSysRef | null {
    return this.getPSModel5('system.IPSSysRef', this.getAllPSSysRefs(), objKey) as IPSSysRef;
  }

  protected allpssysresources: IPSSysResource[] | null = null;

  getAllPSSysResources(): IPSSysResource[] | null {
    if (this.allpssysresources == null) {
      this.allpssysresources = this.fillChildListModel(this.M.getAllPSSysResources, 'res.IPSSysResource') as IPSSysResource[];
    }
    return this.allpssysresources;
  }

  get allPSSysResources(): IPSSysResource[] | null {
    return this.getAllPSSysResources();
  }

  findPSSysResource(objKey: any): IPSSysResource | null {
    return this.getPSModel5('res.IPSSysResource', this.getAllPSSysResources(), objKey) as IPSSysResource;
  }

  protected allpssyssfplugins: IPSSysSFPlugin[] | null = null;

  getAllPSSysSFPlugins(): IPSSysSFPlugin[] | null {
    if (this.allpssyssfplugins == null) {
      this.allpssyssfplugins = this.fillChildListModel(this.M.getAllPSSysSFPlugins, 'res.IPSSysSFPlugin') as IPSSysSFPlugin[];
    }
    return this.allpssyssfplugins;
  }

  get allPSSysSFPlugins(): IPSSysSFPlugin[] | null {
    return this.getAllPSSysSFPlugins();
  }

  findPSSysSFPlugin(objKey: any): IPSSysSFPlugin | null {
    return this.getPSModel5('res.IPSSysSFPlugin', this.getAllPSSysSFPlugins(), objKey) as IPSSysSFPlugin;
  }

  protected allpssyssfpubs: IPSSysSFPub[] | null = null;

  getAllPSSysSFPubs(): IPSSysSFPub[] | null {
    if (this.allpssyssfpubs == null) {
      this.allpssyssfpubs = this.fillChildListModel(this.M.getAllPSSysSFPubs, 'pub.IPSSysSFPub') as IPSSysSFPub[];
    }
    return this.allpssyssfpubs;
  }

  get allPSSysSFPubs(): IPSSysSFPub[] | null {
    return this.getAllPSSysSFPubs();
  }

  findPSSysSFPub(objKey: any): IPSSysSFPub | null {
    return this.getPSModel5('pub.IPSSysSFPub', this.getAllPSSysSFPubs(), objKey) as IPSSysSFPub;
  }

  protected allpssyssamplevalues: IPSSysSampleValue[] | null = null;

  getAllPSSysSampleValues(): IPSSysSampleValue[] | null {
    if (this.allpssyssamplevalues == null) {
      this.allpssyssamplevalues = this.fillChildListModel(this.M.getAllPSSysSampleValues, 'res.IPSSysSampleValue') as IPSSysSampleValue[];
    }
    return this.allpssyssamplevalues;
  }

  get allPSSysSampleValues(): IPSSysSampleValue[] | null {
    return this.getAllPSSysSampleValues();
  }

  findPSSysSampleValue(objKey: any): IPSSysSampleValue | null {
    return this.getPSModel5('res.IPSSysSampleValue', this.getAllPSSysSampleValues(), objKey) as IPSSysSampleValue;
  }

  protected allpssyssearchschemes: IPSSysSearchScheme[] | null = null;

  getAllPSSysSearchSchemes(): IPSSysSearchScheme[] | null {
    if (this.allpssyssearchschemes == null) {
      this.allpssyssearchschemes = this.fillChildListModel(this.M.getAllPSSysSearchSchemes, 'search.IPSSysSearchScheme') as IPSSysSearchScheme[];
    }
    return this.allpssyssearchschemes;
  }

  get allPSSysSearchSchemes(): IPSSysSearchScheme[] | null {
    return this.getAllPSSysSearchSchemes();
  }

  findPSSysSearchScheme(objKey: any): IPSSysSearchScheme | null {
    return this.getPSModel5('search.IPSSysSearchScheme', this.getAllPSSysSearchSchemes(), objKey) as IPSSysSearchScheme;
  }

  protected allpssyssequences: IPSSysSequence[] | null = null;

  getAllPSSysSequences(): IPSSysSequence[] | null {
    if (this.allpssyssequences == null) {
      this.allpssyssequences = this.fillChildListModel(this.M.getAllPSSysSequences, 'res.IPSSysSequence') as IPSSysSequence[];
    }
    return this.allpssyssequences;
  }

  get allPSSysSequences(): IPSSysSequence[] | null {
    return this.getAllPSSysSequences();
  }

  findPSSysSequence(objKey: any): IPSSysSequence | null {
    return this.getPSModel5('res.IPSSysSequence', this.getAllPSSysSequences(), objKey) as IPSSysSequence;
  }

  protected allpssysserviceapis: IPSSysServiceAPI[] | null = null;

  getAllPSSysServiceAPIs(): IPSSysServiceAPI[] | null {
    if (this.allpssysserviceapis == null) {
      this.allpssysserviceapis = this.fillChildListModel(this.M.getAllPSSysServiceAPIs, 'service.IPSSysServiceAPI') as IPSSysServiceAPI[];
    }
    return this.allpssysserviceapis;
  }

  get allPSSysServiceAPIs(): IPSSysServiceAPI[] | null {
    return this.getAllPSSysServiceAPIs();
  }

  findPSSysServiceAPI(objKey: any): IPSSysServiceAPI | null {
    return this.getPSModel5('service.IPSSysServiceAPI', this.getAllPSSysServiceAPIs(), objKey) as IPSSysServiceAPI;
  }

  protected allpssystestdatas: IPSSysTestData[] | null = null;

  getAllPSSysTestDatas(): IPSSysTestData[] | null {
    if (this.allpssystestdatas == null) {
      this.allpssystestdatas = this.fillChildListModel(this.M.getAllPSSysTestDatas, 'testing.IPSSysTestData') as IPSSysTestData[];
    }
    return this.allpssystestdatas;
  }

  get allPSSysTestDatas(): IPSSysTestData[] | null {
    return this.getAllPSSysTestDatas();
  }

  findPSSysTestData(objKey: any): IPSSysTestData | null {
    return this.getPSModel5('testing.IPSSysTestData', this.getAllPSSysTestDatas(), objKey) as IPSSysTestData;
  }

  protected allpssystestprjs: IPSSysTestPrj[] | null = null;

  getAllPSSysTestPrjs(): IPSSysTestPrj[] | null {
    if (this.allpssystestprjs == null) {
      this.allpssystestprjs = this.fillChildListModel(this.M.getAllPSSysTestPrjs, 'testing.IPSSysTestPrj') as IPSSysTestPrj[];
    }
    return this.allpssystestprjs;
  }

  get allPSSysTestPrjs(): IPSSysTestPrj[] | null {
    return this.getAllPSSysTestPrjs();
  }

  findPSSysTestPrj(objKey: any): IPSSysTestPrj | null {
    return this.getPSModel5('testing.IPSSysTestPrj', this.getAllPSSysTestPrjs(), objKey) as IPSSysTestPrj;
  }

  protected allpssystranslators: IPSSysTranslator[] | null = null;

  getAllPSSysTranslators(): IPSSysTranslator[] | null {
    if (this.allpssystranslators == null) {
      this.allpssystranslators = this.fillChildListModel(this.M.getAllPSSysTranslators, 'res.IPSSysTranslator') as IPSSysTranslator[];
    }
    return this.allpssystranslators;
  }

  get allPSSysTranslators(): IPSSysTranslator[] | null {
    return this.getAllPSSysTranslators();
  }

  findPSSysTranslator(objKey: any): IPSSysTranslator | null {
    return this.getPSModel5('res.IPSSysTranslator', this.getAllPSSysTranslators(), objKey) as IPSSysTranslator;
  }

  protected allpssysucmaps: IPSSysUCMap[] | null = null;

  getAllPSSysUCMaps(): IPSSysUCMap[] | null {
    if (this.allpssysucmaps == null) {
      this.allpssysucmaps = this.fillChildListModel(this.M.getAllPSSysUCMaps, 'uml.IPSSysUCMap') as IPSSysUCMap[];
    }
    return this.allpssysucmaps;
  }

  get allPSSysUCMaps(): IPSSysUCMap[] | null {
    return this.getAllPSSysUCMaps();
  }

  findPSSysUCMap(objKey: any): IPSSysUCMap | null {
    return this.getPSModel5('uml.IPSSysUCMap', this.getAllPSSysUCMaps(), objKey) as IPSSysUCMap;
  }

  protected allpssysunireses: IPSSysUniRes[] | null = null;

  getAllPSSysUniReses(): IPSSysUniRes[] | null {
    if (this.allpssysunireses == null) {
      this.allpssysunireses = this.fillChildListModel(this.M.getAllPSSysUniReses, 'security.IPSSysUniRes') as IPSSysUniRes[];
    }
    return this.allpssysunireses;
  }

  get allPSSysUniReses(): IPSSysUniRes[] | null {
    return this.getAllPSSysUniReses();
  }

  findPSSysUniRes(objKey: any): IPSSysUniRes | null {
    return this.getPSModel5('security.IPSSysUniRes', this.getAllPSSysUniReses(), objKey) as IPSSysUniRes;
  }

  protected allpssysunistates: IPSSysUniState[] | null = null;

  getAllPSSysUniStates(): IPSSysUniState[] | null {
    if (this.allpssysunistates == null) {
      this.allpssysunistates = this.fillChildListModel(this.M.getAllPSSysUniStates, 'res.IPSSysUniState') as IPSSysUniState[];
    }
    return this.allpssysunistates;
  }

  get allPSSysUniStates(): IPSSysUniState[] | null {
    return this.getAllPSSysUniStates();
  }

  findPSSysUniState(objKey: any): IPSSysUniState | null {
    return this.getPSModel5('res.IPSSysUniState', this.getAllPSSysUniStates(), objKey) as IPSSysUniState;
  }

  protected allpssysusecases: IPSSysUseCase[] | null = null;

  getAllPSSysUseCases(): IPSSysUseCase[] | null {
    if (this.allpssysusecases == null) {
      this.allpssysusecases = this.fillChildListModel(this.M.getAllPSSysUseCases, 'uml.IPSSysUseCase') as IPSSysUseCase[];
    }
    return this.allpssysusecases;
  }

  get allPSSysUseCases(): IPSSysUseCase[] | null {
    return this.getAllPSSysUseCases();
  }

  findPSSysUseCase(objKey: any): IPSSysUseCase | null {
    return this.getPSModel5('uml.IPSSysUseCase', this.getAllPSSysUseCases(), objKey) as IPSSysUseCase;
  }

  protected allpssysuserdrs: IPSSysUserDR[] | null = null;

  getAllPSSysUserDRs(): IPSSysUserDR[] | null {
    if (this.allpssysuserdrs == null) {
      this.allpssysuserdrs = this.fillChildListModel(this.M.getAllPSSysUserDRs, 'security.IPSSysUserDR') as IPSSysUserDR[];
    }
    return this.allpssysuserdrs;
  }

  get allPSSysUserDRs(): IPSSysUserDR[] | null {
    return this.getAllPSSysUserDRs();
  }

  findPSSysUserDR(objKey: any): IPSSysUserDR | null {
    return this.getPSModel5('security.IPSSysUserDR', this.getAllPSSysUserDRs(), objKey) as IPSSysUserDR;
  }

  protected allpssysusermodes: IPSSysUserMode[] | null = null;

  getAllPSSysUserModes(): IPSSysUserMode[] | null {
    if (this.allpssysusermodes == null) {
      this.allpssysusermodes = this.fillChildListModel(this.M.getAllPSSysUserModes, 'security.IPSSysUserMode') as IPSSysUserMode[];
    }
    return this.allpssysusermodes;
  }

  get allPSSysUserModes(): IPSSysUserMode[] | null {
    return this.getAllPSSysUserModes();
  }

  findPSSysUserMode(objKey: any): IPSSysUserMode | null {
    return this.getPSModel5('security.IPSSysUserMode', this.getAllPSSysUserModes(), objKey) as IPSSysUserMode;
  }

  protected allpssysuserroles: IPSSysUserRole[] | null = null;

  getAllPSSysUserRoles(): IPSSysUserRole[] | null {
    if (this.allpssysuserroles == null) {
      this.allpssysuserroles = this.fillChildListModel(this.M.getAllPSSysUserRoles, 'security.IPSSysUserRole') as IPSSysUserRole[];
    }
    return this.allpssysuserroles;
  }

  get allPSSysUserRoles(): IPSSysUserRole[] | null {
    return this.getAllPSSysUserRoles();
  }

  findPSSysUserRole(objKey: any): IPSSysUserRole | null {
    return this.getPSModel5('security.IPSSysUserRole', this.getAllPSSysUserRoles(), objKey) as IPSSysUserRole;
  }

  protected allpssysutils: IPSSysUtil[] | null = null;

  getAllPSSysUtils(): IPSSysUtil[] | null {
    if (this.allpssysutils == null) {
      this.allpssysutils = this.fillChildListModel(this.M.getAllPSSysUtils, 'res.IPSSysUtil') as IPSSysUtil[];
    }
    return this.allpssysutils;
  }

  get allPSSysUtils(): IPSSysUtil[] | null {
    return this.getAllPSSysUtils();
  }

  findPSSysUtil(objKey: any): IPSSysUtil | null {
    return this.getPSModel5('res.IPSSysUtil', this.getAllPSSysUtils(), objKey) as IPSSysUtil;
  }

  protected allpssysvaluerules: IPSSysValueRule[] | null = null;

  getAllPSSysValueRules(): IPSSysValueRule[] | null {
    if (this.allpssysvaluerules == null) {
      this.allpssysvaluerules = this.fillChildListModel(this.M.getAllPSSysValueRules, 'valuerule.IPSSysValueRule') as IPSSysValueRule[];
    }
    return this.allpssysvaluerules;
  }

  get allPSSysValueRules(): IPSSysValueRule[] | null {
    return this.getAllPSSysValueRules();
  }

  findPSSysValueRule(objKey: any): IPSSysValueRule | null {
    return this.getPSModel5('valuerule.IPSSysValueRule', this.getAllPSSysValueRules(), objKey) as IPSSysValueRule;
  }

  protected allpssystemdbconfigs: IPSSystemDBConfig[] | null = null;

  getAllPSSystemDBConfigs(): IPSSystemDBConfig[] | null {
    if (this.allpssystemdbconfigs == null) {
      this.allpssystemdbconfigs = this.fillChildListModel(this.M.getAllPSSystemDBConfigs, 'database.IPSSystemDBConfig') as IPSSystemDBConfig[];
    }
    return this.allpssystemdbconfigs;
  }

  get allPSSystemDBConfigs(): IPSSystemDBConfig[] | null {
    return this.getAllPSSystemDBConfigs();
  }

  findPSSystemDBConfig(objKey: any): IPSSystemDBConfig | null {
    return this.getPSModel5('database.IPSSystemDBConfig', this.getAllPSSystemDBConfigs(), objKey) as IPSSystemDBConfig;
  }

  protected allpssystemmodules: IPSSystemModule[] | null = null;

  getAllPSSystemModules(): IPSSystemModule[] | null {
    if (this.allpssystemmodules == null) {
      this.allpssystemmodules = this.fillChildListModel(this.M.getAllPSSystemModules, 'system.IPSSystemModule') as IPSSystemModule[];
    }
    return this.allpssystemmodules;
  }

  get allPSSystemModules(): IPSSystemModule[] | null {
    return this.getAllPSSystemModules();
  }

  findPSSystemModule(objKey: any): IPSSystemModule | null {
    return this.getPSModel5('system.IPSSystemModule', this.getAllPSSystemModules(), objKey) as IPSSystemModule;
  }

  protected allpswfroles: IPSWFRole[] | null = null;

  getAllPSWFRoles(): IPSWFRole[] | null {
    if (this.allpswfroles == null) {
      this.allpswfroles = this.fillChildListModel(this.M.getAllPSWFRoles, 'wf.IPSWFRole') as IPSWFRole[];
    }
    return this.allpswfroles;
  }

  get allPSWFRoles(): IPSWFRole[] | null {
    return this.getAllPSWFRoles();
  }

  findPSWFRole(objKey: any): IPSWFRole | null {
    return this.getPSModel5('wf.IPSWFRole', this.getAllPSWFRoles(), objKey) as IPSWFRole;
  }

  protected allpswfworktimes: IPSWFWorkTime[] | null = null;

  getAllPSWFWorkTimes(): IPSWFWorkTime[] | null {
    if (this.allpswfworktimes == null) {
      this.allpswfworktimes = this.fillChildListModel(this.M.getAllPSWFWorkTimes, 'wf.IPSWFWorkTime') as IPSWFWorkTime[];
    }
    return this.allpswfworktimes;
  }

  get allPSWFWorkTimes(): IPSWFWorkTime[] | null {
    return this.getAllPSWFWorkTimes();
  }

  findPSWFWorkTime(objKey: any): IPSWFWorkTime | null {
    return this.getPSModel5('wf.IPSWFWorkTime', this.getAllPSWFWorkTimes(), objKey) as IPSWFWorkTime;
  }

  protected allpsworkflows: IPSWorkflow[] | null = null;

  getAllPSWorkflows(): IPSWorkflow[] | null {
    if (this.allpsworkflows == null) {
      this.allpsworkflows = this.fillChildListModel(this.M.getAllPSWorkflows, 'wf.IPSWorkflow') as IPSWorkflow[];
    }
    return this.allpsworkflows;
  }

  get allPSWorkflows(): IPSWorkflow[] | null {
    return this.getAllPSWorkflows();
  }

  findPSWorkflow(objKey: any): IPSWorkflow | null {
    return this.getPSModel5('wf.IPSWorkflow', this.getAllPSWorkflows(), objKey) as IPSWorkflow;
  }

  get codeName(): string {
    return this.M.codeName;
  }

  get defaultLanguage(): string {
    return this.M.defaultLanguage;
  }

  protected defaultpssysi18n: IPSSysI18N | null = null;

  getDefaultPSSysI18N(): IPSSysI18N | null {
    if (this.defaultpssysi18n != null) return this.defaultpssysi18n;
    const value = this.M.getDefaultPSSysI18N;
    if (value == null) {
      return null;
    }
    this.defaultpssysi18n = this.getPSModel4('res.IPSSysI18N', value, 'getDefaultPSSysI18N') as IPSSysI18N;
    return this.defaultpssysi18n;
  }

  get defaultPSSysI18N(): IPSSysI18N | null {
    return this.getDefaultPSSysI18N();
  }

  getDefaultPSSysI18NMust(): IPSSysI18N {
    const value = this.getDefaultPSSysI18N();
    if (value == null) {
      throw new Error('未指定默认系统国际化');
    }
    return value;
  }

  protected defaultpssyssfpub: IPSSysSFPub | null = null;

  getDefaultPSSysSFPub(): IPSSysSFPub | null {
    if (this.defaultpssyssfpub != null) return this.defaultpssyssfpub;
    const value = this.M.getDefaultPSSysSFPub;
    if (value == null) {
      return null;
    }
    this.defaultpssyssfpub = this.getPSModel4('pub.IPSSysSFPub', value, 'getDefaultPSSysSFPub') as IPSSysSFPub;
    return this.defaultpssyssfpub;
  }

  get defaultPSSysSFPub(): IPSSysSFPub | null {
    return this.getDefaultPSSysSFPub();
  }

  getDefaultPSSysSFPubMust(): IPSSysSFPub {
    const value = this.getDefaultPSSysSFPub();
    if (value == null) {
      throw new Error('未指定默认系统后台发布');
    }
    return value;
  }

  get defaultScriptEngine(): string {
    return this.M.defaultScriptEngine;
  }

  get deploySysId(): string {
    return this.M.deploySysId;
  }

  get deploySysOrgId(): string {
    return this.M.deploySysOrgId;
  }

  get deploySysOrgSectorId(): string {
    return this.M.deploySysOrgSectorId;
  }

  get deploySysTag(): string {
    return this.M.deploySysTag;
  }

  get deploySysTag2(): string {
    return this.M.deploySysTag2;
  }

  get deploySysType(): 'ORGWFSYS' | 'ORGSECTORWFSYS' | 'USER' | 'USER2' {
    return this.M.deploySysType;
  }

  get dynaModelFilePath(): string {
    return this.M.dynaModelFilePath;
  }

  get engineVer(): number {
    return this.M.engineVer;
  }

  protected initpssyscontents: IPSSysContent[] | null = null;

  getInitPSSysContents(): IPSSysContent[] | null {
    if (this.initpssyscontents == null) {
      this.initpssyscontents = this.fillChildListModel(this.M.getInitPSSysContents, 'res.IPSSysContent') as IPSSysContent[];
    }
    return this.initpssyscontents;
  }

  get initPSSysContents(): IPSSysContent[] | null {
    return this.getInitPSSysContents();
  }

  findInitPSSysContent(objKey: any): IPSSysContent | null {
    return this.getPSModel5('res.IPSSysContent', this.getInitPSSysContents(), objKey) as IPSSysContent;
  }

  get logicName(): string {
    return this.M.logicName;
  }

  get memo(): string {
    return this.M.memo;
  }

  get name(): string {
    return this.M.name;
  }

  get rTObjectName(): string {
    return this.M.rTObjectName;
  }

  protected samplepssyscontents: IPSSysContent[] | null = null;

  getSamplePSSysContents(): IPSSysContent[] | null {
    if (this.samplepssyscontents == null) {
      this.samplepssyscontents = this.fillChildListModel(this.M.getSamplePSSysContents, 'res.IPSSysContent') as IPSSysContent[];
    }
    return this.samplepssyscontents;
  }

  get samplePSSysContents(): IPSSysContent[] | null {
    return this.getSamplePSSysContents();
  }

  findSamplePSSysContent(objKey: any): IPSSysContent | null {
    return this.getPSModel5('res.IPSSysContent', this.getSamplePSSysContents(), objKey) as IPSSysContent;
  }

  get sysTag(): string {
    return this.M.sysTag;
  }

  get sysTag2(): string {
    return this.M.sysTag2;
  }

  get sysTag3(): string {
    return this.M.sysTag3;
  }

  get sysTag4(): string {
    return this.M.sysTag4;
  }

  get sysType(): 'DEVSYS' | 'DEVSYS_APP' | 'DEVSYS_SVR' | 'DEVSYS_DEPLOY' {
    return this.M.sysType || 'DEVSYS';
  }

  protected testpssyscontents: IPSSysContent[] | null = null;

  getTestPSSysContents(): IPSSysContent[] | null {
    if (this.testpssyscontents == null) {
      this.testpssyscontents = this.fillChildListModel(this.M.getTestPSSysContents, 'res.IPSSysContent') as IPSSysContent[];
    }
    return this.testpssyscontents;
  }

  get testPSSysContents(): IPSSysContent[] | null {
    return this.getTestPSSysContents();
  }

  findTestPSSysContent(objKey: any): IPSSysContent | null {
    return this.getPSModel5('res.IPSSysContent', this.getTestPSSysContents(), objKey) as IPSSysContent;
  }

  get userCat(): string {
    return this.M.userCat;
  }

  get userTag(): string {
    return this.M.userTag;
  }

  get userTag2(): string {
    return this.M.userTag2;
  }

  get userTag3(): string {
    return this.M.userTag3;
  }

  get userTag4(): string {
    return this.M.userTag4;
  }

  get vCName(): string {
    return this.M.vCName;
  }

  get cls(): string {
    return 'PSSystemImpl';
  }

  instanceof(cls: string): boolean {
    if (cls == 'IPSSystem') return true;
    return super.instanceof(cls);
  }
}
